/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package proyectil3;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author Dvj
 */
public class PermisoBD {
       Conectate con;
      public PermisoBD(){
          con=new Conectate();
      }
     public void agregarCliente(String rut,String nombre,String apellido,String telefono){
        try {
            PreparedStatement st=con.getConexion().prepareStatement("INSERT INTO cliente(RUT,NOMBRE,APELLIDO,TELEFONO) VALUES (?,?,?,?)");
            st.setString(1, rut);
            st.setString(2, nombre);
            st.setString(3, apellido);
            st.setString(4, telefono);
            st.executeUpdate();
            st.close();
        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"ERROR AL AGREGAR\n "+ex);
        }
        
        
    }
    
    public Object [][] getCliente(){
      int registros = 0;
      //obtenemos la cantidad de registros existentes en la tabla
      try{         
         PreparedStatement pstm = con.getConexion().prepareStatement("SELECT count(1) as total FROM CLIENTE");
         ResultSet res = pstm.executeQuery();
         res.next();
         registros= res.getInt("total");
         res.close();
      }catch(SQLException e){
         JOptionPane.showMessageDialog(null,"ERROR 1 \n"+e);
      }
      
      
    Object[][] data = new String[registros][4];  
    //realizamos la consulta sql y llenamos los datos en "Object"
      try{    
         PreparedStatement pstm = con.getConexion().prepareStatement("SELECT RUT,NOMBRE,APELLIDO,TELEFONO FROM cliente ORDER BY rut ");
         ResultSet res = pstm.executeQuery();
         int i = 0;
         while(res.next()){
            String rut = res.getString("RUT");
            String nom = res.getString("NOMBRE");
            String ape = res.getString("APELLIDO");
            String tel = res.getString("TELEFONO");
            data[i][0] = rut;            
            data[i][1] = nom;            
            data[i][2] = ape;            
            data[i][3] = tel;            
            i++;
         }
         res.close();
          }catch(SQLException e){
         JOptionPane.showMessageDialog(null,"ERROR 2 \n"+e);
    }
    return data;
 }
 
 public void deleteCliente(String cod){  
            try {                
                PreparedStatement pstm = con.getConexion().prepareStatement("delete from CLIENTE where rut= ?");            
                pstm.setString(1, cod);                   
                pstm.execute();
                pstm.close();            
            }catch(SQLException e){
            JOptionPane.showMessageDialog(null,"ERROR AL ELIMINAR \n"+e);
            }            
   }
 
 public void updateClientes(String rut, String nom, String ape, String tele){
       try {            
            PreparedStatement pstm = con.getConexion().prepareStatement("UPDATE Cliente set NOMBRE=?,APELLIDO=?,TELEFONO=? where RUT= ? ");            
            pstm.setString(1, nom);                   
            pstm.setString(2, ape);
            pstm.setString(3, tele);
            pstm.setString(4, String.valueOf(rut));
            pstm.execute();
            pstm.close();            
         }catch(SQLException e){
         JOptionPane.showMessageDialog(null,"ERROR AL MODIFICAR \n"+e);
      }
   }
 
      }


